#include "gamehall.h"
#include "ui_gamehall.h"
#include"gameselect.h"
#include<QPainter>
#include<QIcon>
#include<QPushButton>
#include<QSound>
// 游戏大厅
GameHall::GameHall(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::GameHall)
{
    ui->setupUi(this);

    // 1.1 设置游戏大厅属性
    this->setFixedSize(1000,800);// 设置窗口的大小
    this->setWindowTitle("贪吃蛇游戏");// 设置窗口的标题
    this->setWindowIcon(QIcon(":/res/ico.png"));// 设置窗口的图标

    // 1.2 设置游戏大厅按钮属性
    QPushButton* startButton = new QPushButton(this);
    startButton->setText("开始游戏");
    startButton->move(430,550);
    startButton->setStyleSheet("QPushButton {border : 0px;}");// 按钮设置为无边框
    // 设置按钮字体
    QFont font("华文行楷",24);
    startButton->setFont(font);

    // 1.3 游戏大厅界面跳转游戏关卡界面
    // 需要建立一个新窗口类
    GameSelect* gameSelect=new GameSelect;

    connect(startButton,&QPushButton::clicked,[=]{
        // 先关闭当前窗口，在打开新窗口
        this->close();
        gameSelect->setGeometry(this->geometry());
        gameSelect->show();// 出现新窗口

        // 点击按钮后会有音效
        QSound::play(":/res/clicked.wav");
    });
}

GameHall::~GameHall()
{
    delete ui;
}

// 绘制游戏大厅
void GameHall::paintEvent(QPaintEvent *event)
{
    (void)event;

    // 创建 Qpainter 对象
    QPainter painter(this);
    // 创建 QPixmap 的图片对象
    QPixmap pix(":/res/game_hall.png");
    // 将图片绘制到窗口上
    painter.drawPixmap(0,0,this->width(),this->height(),pix);
}

